/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.rainbow.xml;

import java.io.IOException;
import java.util.List;
import org.w3c.dom.Document;
import org.w3c.dom.Node;

/**
 *
 * @author hironaga
 */
abstract class XmlHandleHelper {

    abstract <T> T getElementData(Document doc, String xpath, Class<T> cls)
               throws IOException, InstantiationException, IllegalAccessException;

    abstract <T> List<T> getElementDataList(Document doc, String xpath, Class<T> cls)
               throws IOException, InstantiationException, IllegalAccessException;

    abstract void createElement(Object obj, Document doc, String xpath, Node parentElement, int index )
                                                            throws IOException;

    abstract void overwriteElement(Object obj, Document doc, String xpath, Node parentElement, int index )
                                                            throws IOException;

}
